package com.jx.mlxg.config;

import com.github.binarywang.wxpay.service.WxPayService;
import com.github.binarywang.wxpay.service.impl.WxPayServiceImpl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class WxPayConfig {
    @Value("${wxpay.appid}")
    private String appid;

    @Value("${wxpay.mch-id}")
    private String mchId;

    @Value("${wxpay.mch-key}")
    private String mchKey;

    @Value("${wxpay.notify-url}")
    private String notifyUrl;

    @Bean(name = "wxPayService") // 明确指定Bean名称
    public WxPayService wxPayService() {
        // 使用微信支付 SDK 中的 WxPayConfig 类
        com.github.binarywang.wxpay.config.WxPayConfig payConfig = new com.github.binarywang.wxpay.config.WxPayConfig();
        payConfig.setAppId(appid);
        payConfig.setMchId(mchId);
        payConfig.setMchKey(mchKey);
        payConfig.setNotifyUrl(notifyUrl);

        // 创建 WxPayServiceImpl 实例并设置配置
        WxPayServiceImpl wxPayService = new WxPayServiceImpl();
        wxPayService.setConfig(payConfig);

        return wxPayService;
    }
}